<?php
require_once 'models/carte_data.php';
$global_data = new carte_data();
$local_data = array();
foreach($data as $d){
	if(strlen($d["ISO"])>2){
		$find=0;
		foreach($local_data as $key => $value)
		{
   			 if($key == substr($d["ISO"],0,2))
    			{
       				 $local_data[$key]->add_carte($d["ISO"],$d["ID"],$d["TEXT"]);
				 $find = 1;
    			}
		}
		if($find==0){
			$local_data[substr($d["ISO"],0,2)]=new carte_data();
			$local_data[substr($d["ISO"],0,2)]->add_carte($d["ISO"],$d["ID"],$d["TEXT"]);
		}
	}
	$global_data->add_carte(substr($d["ISO"],0,2),$d["ID"],$d["TEXT"]);
}
?>
<script type="text/javascript" src="//www.google.com/jsapi"></script>
  <script type="text/javascript">
    google.load('visualization', '1', {packages: ['geochart']});
    
function drawVisualization() {
	/* Creation de la table de donnees */
    var data = new google.visualization.DataTable();
    /* La table de connees contiendra trois colonnes : le code du pays ou de la region actuel (necessaire pour dessiner la carte), un index (necessaire pour attribuer aux differentes entites historiques une couleur differente sur la carte) et un label contenant le nom dans l'entite historique (affiche dans le tooltip) */
    data.addColumn('string', 'Code Pays actuel');
    data.addColumn('number', 'Index entite');
    data.addColumn({type:'string', label:'Entites historiques',role:'tooltip'});
    /* Ajout de donnes a la table de donnees (ces donnees sont normalement generees par le code php) */
    data.addRows(<?php $global_data->echo_table();?>);
      
      /* Creer une carte, l'associer a l'element HTML dont l'ID est visualization */
      var geochart = new google.visualization.GeoChart(
              document.getElementById('visualization'));
    
      /* Normalement le nom affiche dans le tooltip des pays est le contenu de la premiere colonne, on cree une vue pour indiquer que le nom affiche dans le tooltip sera le contenu de la troisieme colonne */
      var formatter = new google.visualization.PatternFormat('{1}');  
      formatter.format(data, [0,2],0);
    
      /* Definition des deux colonnes necessaire pour dessiner la carte : colonne contenant l'identifiant des region/pays et le code contenant la valeur numerique permettant de determiner la couleur d'un pays */ 
      var view = new google.visualization.DataView(data);
      view.setColumns([0, 1]);  
    
      /* Dessin de la carte avec les attributs suivants : largeur et hauteur de la carte (width, height), fond de carte (ici 150, pour la carte de 'europe), le niveau de precision de la carte (regions : on affiche ici des pays), pas de legende */
      geochart.draw(view, {width: 1000, height: 500, region: '150', resolution: 'regions', colorAxis: {colors: ['yellow', 'red']}, legend: 'none'});
  }
	
    google.setOnLoadCallback(drawVisualization);
 </script>
<div id="visualization"></div>
<label>Détail des pays concernées :</label><br>
<?php
	$i=0;
	foreach($local_data as $l){?>
		<script type="text/javascript" src="//www.google.com/jsapi"></script>
  <script type="text/javascript">
    google.load('visualization', '1', {packages: ['geochart']});

    function drawVisualization<?php echo $i ?>() {
    	/* Creation de la table de donnees */
        var data = new google.visualization.DataTable();
        /* La table de connees contiendra trois colonnes : le code du pays ou de la region actuel (necessaire pour dessiner la carte), un index (necessaire pour attribuer aux differentes entites historiques une couleur differente sur la carte) et un label contenant le nom dans l'entite historique (affiche dans le tooltip) */
        data.addColumn('string', 'Code Pays actuel');
        data.addColumn('number', 'Index entite');
        data.addColumn({type:'string', label:'Entites historiques',role:'tooltip'});
        /* Ajout de donnes a la table de donnees (ces donnees sont normalement generees par le code php) */
        data.addRows(<?php $l->echo_table(); ?>);
          
          /* Creer une carte, l'associer a l'element HTML dont l'ID est visualization */
          var geochart = new google.visualization.GeoChart(
                  document.getElementById('visualization<?php echo $i ?>'));
        
          /* Normalement le nom affiche dans le tooltip des pays est le contenu de la premiere colonne, on cree une vue pour indiquer que le nom affiche dans le tooltip sera le contenu de la troisieme colonne */
          var formatter = new google.visualization.PatternFormat('{1}');  
          formatter.format(data, [0,2],0);
        
          /* Definition des deux colonnes necessaire pour dessiner la carte : colonne contenant l'identifiant des region/pays et le code contenant la valeur numerique permettant de determiner la couleur d'un pays */ 
          var view = new google.visualization.DataView(data);
          view.setColumns([0, 1]);  
        
          /* Dessin de la carte avec les attributs suivants : largeur et hauteur de la carte (width, height), fond de carte (ici FR, pour la carte de France), le niveau de precision de la carte (provinces : on affiche ici les regions d'un pays), pas de legende */
          geochart.draw(view, {width: 1000, height: 500, region: 'FR', resolution: 'provinces', colorAxis: {colors: ['yellow', 'red']}, legend: 'none'});
      }

    google.setOnLoadCallback(drawVisualization<?php echo $i ?>);
  </script>
<div id="visualization<?php echo $i ?>"></div>

	<?php $i++;}
?>
